1. Field of the Invention
The present invention is generally directed to an improved data processing system. More specifically, the present invention is directed to an apparatus and method for providing a condition builder interface.
2. Description of Related Art
In many computer applications, there are scenarios where a user has to define a condition expression. For example, in a mortgage approval application, mortgage approval may be granted for a customer if the monthly mortgage payment is less than 33% of their monthly income. These conditional expressions are typically expressed using a computer language which novice users may find difficult to understand and use. To simply the creation of these conditional expressions, a number of different techniques have been developed and adopted by computer application providers.
For example, in Microsoft Excel™, a spreadsheet application available from Microsoft Corporation, a condition is defined using a graphical user interface having a series of combination boxes as illustrated in FIG. 1A. As shown in FIG. 1A, the conditional expression user interface for Microsoft Excel™ includes a first field 110 for entering a parameter upon which the condition operations, a second field 120 for entering the condition type, and at least one third field 130 for entering parameter values for the condition.
Different condition types selected via the second field 120 may result in a different number of parameter value fields 130, as illustrated in FIG. 1B. As shown, rather than two parameter value fields 130 as in the “between” condition type selected in FIG. 1A, the “greater than” condition type selected in field 120 of FIG. 1B results in only a single parameter value field 130 being provided.
If a condition is not within the bounds of a simple expression list, i.e. the condition is not one of those that may be selected from the drop-down menu associated with field 120, then a graphical user interface (GUI) may be provided for entry of a formula identifying the condition, as illustrated in FIG. 1C. As shown in FIG. 1C, the conditional formatting GUI includes a first field 150 for entry of the type of condition and a second field 160 for entry of the formula.
While the Microsoft Excel™ approach to defining conditional expressions makes the creation of very simple conditions easy, it makes the creation of more complex expressions very difficult. This difficulty stems from a number of drawbacks associated with the Microsoft Excel approach. First, the condition language that is to be used in defining conditional expressions is not described in the graphical user interfaces. The user must learn this conditional language by trial and error or going to the documentation accompanying the software application. In addition, the graphical user interfaces do not provide any examples that would provide a user with guidance on how to create the conditional expression they are attempting to create. Moreover, there is no guidance provided by the graphical user interfaces as the user enters their conditional expression guiding the user as to how to complete the conditional expression. Furthermore, no guidance is provided to the user when the user enters a conditional expression that has an error as to how to remedy the error. Furthermore, there is no ability in the Microsoft Excel™ graphical user interfaces for permitting the user to browse the variables or functions which can be referenced in the conditional expression based on the current context of the conditional expression.
In Microsoft Access™, a database application available from Microsoft Corporation, a different graphical user interface style is used to define conditions. As shown in FIG. 2, the graphical user interface is composed of twenty or more virtual buttons. There is a button 210 for every type of operator which can be contained in the conditional expression (shown in field 220), and three list boxes 230-250 which can be used to select from a range of variables, fields and functions.
The Microsoft Access™ approach to defining conditional expressions makes both simple and complex conditions difficult to create. As with the Microsoft Excel™ approach, the Microsoft Access™ approach also does not provide any information regarding the conditional language, which is used to describe a conditional expression, in the graphical user interface. As a result, the user must learn this conditional language by trial and error or consult the documentation accompanying the software application. Again, there are not examples in the graphical user interface to provide assistance to the user in generating their conditional expression. Furthermore, although there is a list of variables and functions that may be selected, there is no guidance with regard to which variables and functions from the lists should be selected. In other words, it is rather easy for a user to generate a conditional expression with errors by selecting the wrong variables and functions from the lists since no guidance is given as to which variables and functions are most appropriate for the current context of the conditional expression.
Thus, it would be beneficial to have an improved apparatus and method for providing an interface through which a user may generate a conditional expression and through which guidance may be provided to the user to aid the user in generating the conditional expression based on the current context of the conditional expression.